package com.xinyi.httpdemo.config;

import androidx.annotation.NonNull;
import com.xinyi.httpdemo.model.HttpHeaders;
import com.xinyi.httpdemo.model.HttpParams;

import okhttp3.Request;
import okhttp3.Response;

/**
 * @author 杨耿雷
 * @date 2024/9/24 11:22
 * @description 请求参数拦截器
 */
public interface IRequestInterceptor {

    /**
     * 拦截参数
     * @param params        请求参数
     * @param headers       请求头参数
     */
    default void interceptArguments(@NonNull HttpParams params, @NonNull HttpHeaders headers) {}

    /**
     * 拦截请求头
     * @param request       请求头对象
     * @return              返回新的请求头
     */
    @NonNull
    default Request interceptRequest(@NonNull Request request) {
        return request;
    }

    /**
     * 拦截器响应头
     * @param response      响应头对象
     * @return              返回新的响应头
     */
    @NonNull
    default Response interceptResponse(@NonNull Response response) {
        return response;
    }
}